Access control is an important aspect of implementing an online service platform. An online service platform may be constructed from a number of interconnected frontend and backend services that work together to implement the services provided by the online service platform. In many implementations, the access control schemes that determine authorization between the frontend and backend services are based on authenticating the identities of the services that are parties to a request. For example, a particular client-facing website may be authorized to use a backend payment service based on access controls on the payment service that authenticate the identity of the website. In such environments, access control lists are maintained by the online service platforms that specify particular functional application programming interfaces (“APIs”) and data that are accessible to the authenticated clients and servers.
In some large-scale online service platforms, various backend payment services, shipping services, ordering services, and other common services may be shared by multiple client-facing service platforms. In such environments, information associated with different client-facing service platforms may be mixed together on backend services that are shared by the different client-facing platforms. For example, two independent merchant websites may use the same backend payment service, and both independent merchant websites may be authorized to use the backend payment service. However, in many situations, each independent merchant website should not have access to payment information obtained from the other independent merchant website. As a result, service platform administrators carefully design access controls to mitigate this risk to the extent possible.